package com.example.base_model.room.type_converter

import androidx.room.TypeConverter

/**
 * @Author jiangKunKun
 * @CreateDate 2025/8/19
 * @Description 用于解决 Room 无法直接存储和读取 List<String> 类型数据的问题。
 * @SpittingGrooves
 */
class StringListConverter {
    /**
     * 读取时
     * 数据反序列化: 将数据库中的 String 转换回 List<String> 格式
     */
    @TypeConverter
    fun fromString(value: String?): List<String> {
        return value?.split(",") ?: emptyList()
    }

    /**
     * 存储时
     * 数据序列化: 将 List<String> 转换为 String 格式存储到数据库
     */
    @TypeConverter
    fun toString(list: List<String>): String {
        return list.joinToString(",")
    }
}